From: Jonas Dreßler Date: Fri, 23 Aug 2019 12:48:36 +0000 (+0200) Subject: endSessionDialog: Initialize Polkit permission asynchronously X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~827^2^2~12 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=05b345cc92fe0f58aaacfaa0b3134dbcd20b4916;p=gnome-shell.git endSessionDialog: Initialize Polkit permission asynchronously The updatesPermission is currently initialized synchronously, which blocks the Mainloop for quite some time and therefore slows down startup of the shell, let's do it asynchronously instead. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/689 --- diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js index 0b475b6f9..f51eb7bee 100644 --- a/js/ui/endSessionDialog.js +++ b/js/ui/endSessionDialog.js @@ -352,12 +352,15 @@ class EndSessionDialog extends ModalDialog.ModalDialog { } // It only makes sense to check for this permission if PackageKit is available. - try { - this._updatesPermission = Polkit.Permission.new_sync( - 'org.freedesktop.packagekit.trigger-offline-update', null, null); - } catch (e) { - log('No permission to trigger offline updates: %s'.format(e.toString())); - } + Polkit.Permission.new( + 'org.freedesktop.packagekit.trigger-offline-update', null, null, + (source, res) => { + try { + this._updatesPermission = Polkit.Permission.new_finish(res); + } catch (e) { + log(`No permission to trigger offline updates: ${e}`); + } + }); } _onDestroy() {